A communication network includes network elements that switch packets through the network. A network element for use in communications networks may use a “distributed” architecture where in a packet undergoes processing at multiple processing resources. Such an architecture often permits greater scalability and fault isolation, but may also add complexity to forwarding of traffic in the network element. To illustrate, in distributed switching systems, part of the switching functionality is performed on an ingress line card, and part of functionality is carried out on an egress line card. Accordingly, the ingress line card must be able to provide an identifier (e.g., a forwarding identifier) so that correct operations can be performed on the packet in rest of the network element. A forwarding identifier (or forwarding ID) is a numeric identifier internal to a network element. The forwarding ID allows the network element to forward a frame, packet, or other data structure through various elements of the network element, starting from the ingress port and ending at the egress port.
In data forwarding systems such as distributed architecture-based Ethernet bridges or switches, a packet coming in on any port on any network interface card may get forwarded out through any port on any network interface card in the same forwarding domain. As the number of line cards, ports in a network element increase linearly, the number of such identifiers increases quadratically to meet the requirement of any port to any port forwarding requirement. For a network element with N ports, the number of forwarding identifiers needed is N times (N−1), meaning that a network element with 300 ports may require on the order of 90,000 forwarding IDs. Maintenance of such a large number of forwarding IDs may require undesirable complexity.